<?php
session_start();
header('Content-Type: application/json');

$host = 'localhost'; // 数据库服务器
$dbname = 'app'; // 数据库名
$dbusername = 'app'; // 数据库用户名
$dbpassword = 'app'; // 数据库密码

// 创建数据库连接
$conn = new mysqli($host, $dbusername, $dbpassword, $dbname);
if ($conn->connect_error) {
    die(json_encode(['success' => false, 'message' => '数据库连接失败']));
}

// 检查用户名是否存在，并获取用户结束时间
$username = $_POST['username'];
$sql = "SELECT user_end_time FROM mac_user WHERE user_name = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("s", $username);
$stmt->execute();
$result = $stmt->get_result();

$response = [
    'success' => 3,
    'message' => '账号不存在或查询失败。'
];

if ($result->num_rows > 0) {
    // 如果存在，获取数据
    $row = $result->fetch_assoc();
    $userEndTime = $row['user_end_time'];

    // 将user_end_time转换为时间戳
    $userEndTimeTimestamp = $userEndTime;

    // 获取当前时间戳
    $currentTime = time();

    // 判断user_end_time是否小于当前时间戳
    if ($userEndTimeTimestamp < $currentTime) {
        // 如果小于当前时间戳，增加1天时间
        $newEndTime = $userEndTimeTimestamp + 86400; // 86400秒 = 1天
        // echo $newEndTime;

        // 更新user_end_time字段
        $updateSql = "UPDATE mac_user SET user_end_time = ? WHERE user_name = ?";
        $updateStmt = $conn->prepare($updateSql);
        $updateStmt->bind_param("ss", $newEndTime, $username);
        if ($updateStmt->execute()) {
            $response['success'] = 1;
            $response['message'] = $username.'时间以增加';
        } else {
            
            $response['message'] = $username.'更新用户结束时间失败。';
        }
        $updateStmt->close();
    } else {
        // 如果不小于当前时间戳，设置消息
        $response['success'] = 2;
        $response['message'] = $username.'结束时间尚未到期。';
    }
} else {
    // 如果不存在，设置消息
    $response['message'] = '账号不存在！';
}

// 关闭数据库连接
$stmt->close();
$conn->close();

// 返回JSON格式的响应
echo json_encode($response);
?>